A communications network, such as the Internet, can transmit packets of information between interconnected communications sites. Information, such as text, music or video, at an originating site is divided into a number of small information packets which are transmitted over the network using a protocol such as Internet Protocol (IP). Each packet can travel though a number of communications sites, called a "path" or "route," before reaching the destination site. Thus, some communications sites are called "routers" because they direct a packet to the next leg, or "hop," of the route towards the destination. When all of the packets have arrived at the destination, they are reassembled to create the information, such as the text, music or video, that was originally transmitted. IP is called a "connection-less" system because each individual packet of information can take a different path to reach the destination site.
A communication that relies solely on IP can be unreliable due to packet loss, reordering and duplication. The IP delivery model is often referred to as a "best effort" system and an additional end-to-end protocol, such as Transmission Control Protocol (TCP), is required to provide reliability. TCP achieves this through mechanisms such as packet retransmission, which adds to the overall information transfer delay.
The best effort communications model is adequate for some network applications, such as File Transfer Protocol (FTP) and e-mail. For other network applications, however, such as those using multimedia information, the delay and other problems caused by the best effort model can be unsatisfactory. For these applications, a method of ensuring a certain QoS, including bandwidth, delay and packet loss guarantees, is required.
To meet this need, a dedicated-connection switching technology, called Asynchronous Transfer Mode (ATM), has been developed. ATM is a "connection" oriented system because a specific path, called a Switched Virtual Circuit (SVC), is established between an origin and a destination. Every information packet flowing from that origin to that destination travels over the same SVC. Such an arrangement allows the system to establish a specific QoS for a specific flow. This can be done, for example, by reserving resources, such as bandwidth, along the path of the SVC when the SVC is created.
Because of the differences between IP and ATM, various protocols have been developed to transmit IP traffic over an ATM network infrastructure. Two such protocols are the Next Hop Resolution Protocol (NHRP) and the Resource Reservation Setup Protocol (RSVP).
As shown in FIG. 1, the NHRP system is a provisioned reservation protocol used by NHRP Servers (NHS) 110, 120, 130, 140 and NHRP Clients (NHC) 10, 20 which communicate over a network 100. The network 100 can be comprised of a number of smaller networks, called Logical IP Subnetworks (LIS), that communicate with each other using ATM. When an NHC-A 10 wants to send information to an NHC-B 20 using the IP address of the NHC-B 20, the information can be sent to an ingress NHS 110. The ingress NHS 110 can forward the information to the NHC-B 20 through an NHS-Y 120, an NHS-Z 130 and an egress NHS 140.
Obviously, this is not an optimal communication path between the NHC-A 10 and the NHC-B 20. If the NHC-A 10 could determine the ATM address of the NHC-B 20, information could be sent directly using a SVC from NHC-A 10 to NHC-B 20. NHRP allows the NHC-A 10 to send the IP address of NHC-B 20 to the ingress NHS 110 in an NHRP address "resolution request." The ingress NHS 110 maintains a table containing the IP address and ATM address of each member in its associated LIS.
If, as shown in FIG. 1, the NHC-B 20 is in a different LIS, the ingress NHS 110 will not know the ATM address of NHC-B 20. In this case, the ingress NHS 110 can forward the resolution request to the NHS-Y 120. Likewise, the NHS-Y 120 and the NHS-Z 130 can forward the request until it reaches the egress NHS 140. The egress NHS 140 can then reply with the ATM address of the NHC-B 20, back along the same path taken by the request. With this information, the NHC-A 10 can establish an end-to-end connection 150, called a "shortcut," to transfer IP packets to the NHC-B 20.
The traditional NHRP system, however, has several disadvantages. Foremost is the inability to take advantage of the QoS capabilities of ATM when transporting IP information. There is no way, for example, that a sender can know the QoS preferences or limitations of a receiver using NHRP. Moreover, when a small number of packets are being transmitted, the time and traffic required to establish the shortcut 150 can be greater than the time and traffic saved by the shortcut 150. Also, the traditional NHRP implementation does not take into account that there may be specific origins and/or destinations that will always require a shortcut with a specific QoS.
Unlike NHRP, RSVP is a generic IP network reservation protocol that allows a specific QoS to be established for an IP data flow. When an application requests a specific QoS, RSVP is used to deliver the request to each router along the path of the data stream to reserve resources along the data path. The paths used to communicate with RSVP are "dynamic" in that they can change over time. It should be noted that RSVP is not necessarily directly related to the use of ATM.
RSVP also supports the simultaneous transmission of information to multiple destinations, called "multicast." As shown in FIG. 2, a sender host H1210 can multicast information to several receiver hosts H3230, H4240 and H5250 through a network of routers including R1260, R2270, R3280 and R4290. With RSVP, the receiver hosts 230, 240, 250 are responsible for requesting resource reservations. Each receiver host can request a QoS tailored to its particular need by sending RSVP reservation messages "upstream" towards the sender host 210. Just as the data branches out downstream in the routers 260, 270, 280, 290, the reservation messages going upstream are "merged". A single reservation message need only flow upstream until it is merged with another reservation message. A single host can act as both a sender and a receiver, and a different QoS might be required for each role.
When used strictly with respect to IP, an RSVP multicast tree can support a different QoS for each leaf in the tree. However, when used to transfer information with respect to ATM, the typical point-to-multipoint tree in an ATM system can only support a single QoS. Different receiver hosts on the same multicast tree, however, might have different capabilities and therefore need different QoS. The traditional ATM implementation, therefore, requires that a separate delivery tree be created for each requested QoS. This increases the amount of traffic on the network. Alternately, the QoS of a single tree can be continuously adjusted to the level of the most demanding receiver. This will result in some receivers getting a QoS that was not requested. Such an arrangement is not desirable because a network provider may charge each receiver a different rate based on the requested QoS.
In view of the foregoing, it can be appreciated that a substantial need exists for a method and apparatus that provides provisioned QoS in a network using NHRP, and solving the other problems discussed above. Moreover, it can be appreciated that a substantial need exists for a method and apparatus that provides dynamic QoS in a network using RSVP, and solving the other problems discussed above.